<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Objects_model extends CI_Model {

    function __construct()
    {
        parent::__construct();
    }
    /**
     * Возвращает все объекты в массиве
     * @param string $exlus Исключенный объект, альтернативные названия
     * @return Assoc_array массив вида ar[id] = name
     */
    function GetObjectsArray($exlus = null, $is_id = TRUE)
    {
        $this->db->select('id, object_name, alt_name');
        if (isset($exlus))
        {
            $this->db->where('alt_name !=', $exlus);
        }
        $q = $this->db->get('objects');
        $list = $q->result();
        //echo $this->db->last_query();
        $res = array();
        foreach ($list as $r)
            if ($is_id)
                $res[$r->id] = $r->object_name;
            else
                $res[$r->alt_name] = $r->object_name;
        return $res;
    }
    /**
     * Возвращает все объекты в массиве
     * @return Assoc_array массив
     */
    function GetObjects()
    {
        $this->db->select('id, object_name, alt_name');
        $q = $this->db->get('objects');

        return $q->result_array();
    }
    /**
     * Получить объект по параметру
     * @param 'array(field_name => value)' $par Массив пар ключ значение
     * @return type 
     */
    function GetObject($par = null)
    {
        $this->db->select('id, object_name, alt_name');
        
        if (isset($par))
        {
            $this->db->where($par);
            $q = $this->db->get('objects');
            $list = $q->row_array();
        }
        else
        {
            $q = $this->db->get('objects');
            $list = $q->result_array();
        }
        
        //echo $this->db->last_query();
        return $list;
    }
    /**
     * Сохранение объекта
     * @param type $object имя 
     * @param type $alt альт. имя
     */
    function SaveObject($object, $alt) 
    {
        $_data = array(
            'id'            => 0,
            'object_name'   => $object,
            'alt_name'      => $alt
        );
        $this->db->insert('objects', $_data);
    }
}
?>
